/**
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2007，所有权利保留。
 * 
 * 项目名：	rumba
 * 文件名：	IForTaskSchedule.java
 * 模块说明：	
 * 修改历史：
 * Nov 10, 2007 - lxm - 创建。
 */
package com.hd123.rumba.sysclock;

import java.util.Date;

import com.hd123.rumba.exception.BusinessException;

/**
 * 可被系统时钟系统后台任务调度期使用的约束条件。
 * 
 * @see SysclockTaskSchedule
 * @see OnceConstraint
 * @see DailyConstraint
 * @see WeeklyConstraint
 * @see MonthlyConstraint
 * 
 * @author lxm
 * 
 */
public interface IForTaskSchedule {

  /**
   * 取得基于指定时间的下一次触发时间。
   * 
   * @param baseTime
   *          指定基准时间。允许传入null，表示基准时间是现在。
   * @return 返回下次触发时间；在某些情况下可能返回null，表示无下次触发时间。
   * @throws BusinessException
   */
  public Date getNextTime(Date baseTime) throws BusinessException;
}
